package com.shop.controller;

import com.shop.util.LayData;
import com.shop.util.SYS;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import java.util.UUID;

@Controller
@RequestMapping("file")
public class UploadController {
    @RequestMapping("uploadSystemCategory")
    @ResponseBody
    //管理员上传分类
    public LayData uploadSystemCategory(@RequestParam("file") MultipartFile file) {
        //获取文件原来的后缀名
        //获取文件原来的名字
        String fileName = file.getOriginalFilename();
        //获取我呢见后缀名
        String fileType = fileName.substring(fileName.lastIndexOf(".") );
        //在前面拼接上一个新的名字，尽量不重复   雪花算法
        String uuid= UUID.randomUUID().toString();
        String newFileName = uuid +fileType;
        try {
            //将上传的文件写入到新文件中
            file.transferTo(new File(SYS.IMG_UPLOAD_DIR_SYSTEM_CATEGORY+newFileName));
        } catch (IOException e) {
            e.printStackTrace();
        }
        return new LayData(SYS.IMG_UPLOAD_URL_SYSTEM_CATEGORY+"/"+newFileName);
        //返回结果
    }

    @RequestMapping("uploadSystemProductImg")
    @ResponseBody
    //管理员上传商品
    public LayData uploadSystemProduct(@RequestParam("file") MultipartFile file) {
        //获取文件原来的后缀名
        //获取文件原来的名字
        String fileName = file.getOriginalFilename();
        //获取我呢见后缀名
        String fileType = fileName.substring(fileName.lastIndexOf(".") );
        //在前面拼接上一个新的名字，尽量不重复   雪花算法
        String uuid= UUID.randomUUID().toString();
        String newFileName = uuid +fileType;
        try {
            //将上传的文件写入到新文件中
            file.transferTo(new File(SYS.IMG_UPLOAD_DIR_SYSTEM_PRODUCT+newFileName));
        } catch (IOException e) {
            e.printStackTrace();
        }
        return new LayData(SYS.IMG_UPLOAD_URL_SYSTEM_PRODUCT+"/"+newFileName);
        //返回结果
    }

    @RequestMapping("uploadUserImg")
    @ResponseBody
    //管理员上传商品
    public LayData uploadUserImg(@RequestParam("file") MultipartFile file) {
        //获取文件原来的后缀名
        //获取文件原来的名字
        String fileName = file.getOriginalFilename();
        //获取我呢见后缀名
        String fileType = fileName.substring(fileName.lastIndexOf(".") );
        //在前面拼接上一个新的名字，尽量不重复   雪花算法
        String uuid= UUID.randomUUID().toString();
        String newFileName = uuid +fileType;
        try {
            //将上传的文件写入到新文件中
            file.transferTo(new File(SYS.IMG_UPLOAD_DIR_SHOP_USER+newFileName));
        } catch (IOException e) {
            e.printStackTrace();
        }
        return new LayData(SYS.IMG_UPLOAD_URL_SHOP_USER+"/"+newFileName);
        //返回结果
    }
}
